package com.yugong.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;
import com.yugong.entity.dto.Major;
import com.yugong.entity.vo.request.MajorRequestVO;
import com.yugong.entity.vo.response.MajorListResponseVO;

import java.util.List;

/**
 * 专业业务逻辑接口
 *
 * @author yugong
 * @date 2024/2/11
 */
public interface MajorService extends IService<Major> {
    /**
     * 根据订单班管理员工号查询订单班管理员对应的专业
     *
     * @param orderClassAdminNo 订单班管理员工号
     * @return 订单班管理员对应的专业
     */
    List<MajorListResponseVO> findMajorByOrderClassAdminNo(String orderClassAdminNo);

    /**
     * 根据专业名查询专业
     *
     * @param pageNum   当前页
     * @param pageSize  当前页数据总数
     * @param majorName 专业名
     * @return 专业
     */
    PageInfo<MajorListResponseVO> findMajor(Integer pageNum, Integer pageSize, String majorName);

    /**
     * 新增专业
     *
     * @param majorRequestVO 专业请求实体类
     * @return 数据库影响行数
     */
    int addMajor(MajorRequestVO majorRequestVO);

    /**
     * 更新专业
     *
     * @param majorRequestVO 专业请求实体类
     * @return 数据库影响行数
     */
    int updateMajor(MajorRequestVO majorRequestVO);

    /**
     * 删除专业
     *
     * @param majorNo 专业号
     * @return 数据库影响行数
     */
    int deleteMajor(String majorNo);
}
